import store from '@/store/index.js'
import {
	baseUrl,
	time,
	createMd5
} from '@/utils/config.js';
import axios from 'axios' 
// export const time = () => {
// 	const date = new Date();
// 	return parseInt(date.getTime() / 1000);
// };
// export const createMd5 = () => {
// 	return `azCRxslbwGE19FUL${time()}`;
// };
const install = (Vue, vm) => {

	Vue.prototype.$u.http.setConfig({
		baseUrl: baseUrl,
		header: {
			'content-type': 'application/json;charset=UTF-8',
			'Authorization': 'Bearer '+uni.getStorageSync('token'),
		},
	});
	Vue.prototype.$u.http.interceptor.request = (config) => {
		// console.log(Vue.prototype.$i18n.locale.key)
		config.header.lang = Vue.prototype.$i18n.locale.key;
		config.header.Authorization = 'Bearer '+uni.getStorageSync('token');
	}
		// 添加响应拦截器
	// axios.interceptors.response.use(function (response) {
	// 	// 对响应数据做点什么
	// 	console.log(response)
	// 	return response;
	// }, function (error) {
	// 	console.log(error)
	// 	// 对响应错误做点什么
	// 	return Promise.reject(error);
	// });
	// 添加响应拦截器
	// instance.interceptors.response.use((response) => {
	// 	// 2xx 范围内的状态码都会触发该函数。
	// 	// 对响应数据做点什么 (默认axios会多包装一层data，需要响应拦截器中处理一下)
	// 	const res = response.data
	// 	return res
	// }, (error) => {
	// 	// 超出 2xx 范围的状态码都会触发该函数。
	// 	if (error.response.status === 401) {
	// 	console.log('登录状态无效，请重新登录')
	// 	return Promise.reject(error)
	// 	}
	// 	Message.error(error.message)
	// 	return Promise.reject(error)
	// })
	// ``
  

	Vue.prototype.$u.http.interceptor.response = (res) => {
		// console.log(res)
		if (res.code == 400) {
			vm.$u.toast(res.message);
			return false;
		}
		
		if (res.code == 401 || res.errcode == 401) {
			uni.clearStorageSync();
			store.commit('outLogin');
			const msg = res.errmsg;
			console.log(msg)
			vm.$u.toast(msg);
			setTimeout(() => {
				this.navrouter('/pages/login/login')
				// uni.switchTab({ url: '/pages/tabbar/Tabhome' })
			}, 1000);
			return false;
		}
		if (res.success == 200) {
			// console.log(res)
			return res.data;
		}
		if (res.success == 400) {
			vm.$u.toast(res.message);
			return false;
		} else {
			vm.$u.toast(res.message);
			return false;
		}
	}, (error) => {
		console.log(error)
		// 超出 2xx 范围的状态码都会触发该函数。
		if (error.response.status === 401) {
		  console.log('登录状态无效，请重新登录')
		  return Promise.reject(error)
		}
		Message.error(error.message)
		return Promise.reject(error)
	  }
	// Vue.prototype.$u.http.interceptor.response = (res, config) => {
	// 	console.log(res)
	// }
}
export default {
	install
}
